The present invention relates to computer graphics. More specifically, the present invention relates to methods and apparatus for auto-scaling properties of simulated objects.
In computer graphics imagery, secondary objects, such as hair, clothing, and plants are often too complex for an animator to directly control at every stage of a computer animation. Instead, the animator typically specifies the physics and/or physical properties of these secondary or dynamic objects. A computer program then simulates the motions and positions of the secondary objects over time. Often physically-based numerical methods and techniques are used to simulate the secondary or dynamic objects based on the physics and/or physical properties of the individual secondary objects.
In general, for simulated clothing objects, the animator specifies the physical properties and construction of a piece of cloth. For example, the animator may specify how the cloth bends or flexes due to forces or collisions with solid objects. The animator may further specify how the cloth deforms or collides with itself. Moreover, the animator may specify external forces that act on the cloth, such as gravity and wind.
In addition to modeling the physical properties of secondary or dynamic objects, the animator may specify motions and/or positions of kinematic or non-simulated objects (e.g., characters upon which clothing objects rest). The animation of a non-simulated object generally is independent of and otherwise unaffected by motions and positions of simulated objects. However, the motions and positions of the non-simulated objects often are the principal influencer of motions and positions of simulated objects, such as the clothing and hair likely to be associated with a kinematic character.
Consider a computer animation of a human character standing upright, wearing a jacket. The human character is a kinematic or non-simulated object that may be directly animated by a skilled human animator. The animator also may specify the physics (e.g., the physical properties) of the jacket, which is to be simulated to provide the animation of the jacket. In addition, the animator may models how the jacket is associated with or worn by the human character. Typically, during simulation, a computer program simulates the motions and positions of the jacket using physically-based numerical techniques in response to external forces and the motions and positions of the human character as specified by the animator.
If the physical properties and external forces acting on a simulated object are accurately modeled, the resulting motion of the simulated object will be plausible and seemingly realistic. In the jacket example, the cloth of the jacket should hang down and fold naturally as worn by the human character. Furthermore, the cloth should react according to the motions and positions of the human character when worn by the human character. However, modeling the jacket to appear to behave in a truly accurate manner is a delicate balance between the limitations and complexities of the animator's knowledge of physics and particle systems on the one hand and budgetary and time constraints on the other.
Additionally, several problems exist with physically-based numerical methods and techniques used in computer animations where kinematic or non-simulated objects are animated in physically exaggerated or cartoon style manners. Specifically, the animator may change the basic geometry or proportions of a primary character of a scene in non-physical or unrealistic manners. The unrealistic animation of the primary character requires that secondary or dynamic objects associated with the primary character that are being simulated react in special ways to accommodate the exaggerated animation. Often, the manners in which simulated objects react to the physically exaggerated non-simulated objects are visually undesirable.
Accordingly, what is desired are improved methods and apparatus for auto-scaling physical properties of simulated objects without some of the drawbacks discussed above.